package org.gridlab.gridsphere.services.visualization;
import org.jfree.chart.*;
import org.jfree.data.general.*;
import org.jfree.util.TableOrder;
import org.jfree.data.category.CategoryDataset;
import org.jfree.chart.plot.*;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import org.jfree.util.Rotation;
import javax.portlet.*;
import java.util.Map;
import java.util.HashMap;


/**
 * Klasa generująca wykresy kołowe
 * @author Krzysztof Goj
 */
public class PieChartGenerator extends StatisticalChartGenerator {
    /**
     * Tworzy nowy obiekt typu PieChartGenerator
     * @param dp DataProvider z danymi dla tego typu wykresu
     * @param c Kontekst portletu
     */
    public PieChartGenerator(DataProvider dp, PortletContext c) {
        super(dp, c);
    }

    /**
     * Wywołuje JFreeChart w celu wygenerowania wykresu
     * @param dataset Dane, z których ma być wygenerowany wykres
     */
    void finalTouchWithJFCStuff(CategoryDataset dataset) {
        chart = ChartFactory.createMultiplePieChart3D(getName(), dataset, TableOrder.BY_ROW, true, false, false);

        Plot plot = chart.getPlot();
        plot.setForegroundAlpha(0.5f);
        plot.setNoDataMessage("No data to display");
    }
}


